home *** CD-ROM | disk | FTP | other *** search
/ Express Pd: GALORE / Express Pd Galore - The Amiga PD & Shareware CD (1994)(Express Pd)[!][Amiga-CD32-CDTV].iso / amicus / amicus_#1 / abasicstuff / tools / menu.bas < prev    next >
BASIC Source File  |  1985-12-04  |  2KB  |  60 lines

  1. 1     rem mouse.menu John R Blackburn Nov 1985
  2. 2     local$ = "df1:abasic"
  3. 4     lx=1:ly=3:lp=1
  4. 6     s1$="please be patient while i am surching for basic programs"
  5. 7     s2$="i am now loading "
  6. 8     s3$="you have selected"
  7. 10    screen 1,1,0
  8. 20    dim a$(50)
  9. 30    print at (30,10) inverse(1) "SEARCHING FOR BASIC PROGRAMS"
  10. 31    print at (0,0)
  11. 32    ss$=s1$:gosub 500
  12. 35    chdir "ram:"
  13. 50    shell "list "+local$+" p #?.bas quick to list.prg"
  14. 60    open "i",#2,"list.prg"
  15. 70    for x = 0 to 41
  16. 80    line input#2, a$(x)
  17. 90    if not eof(2) then goto 100
  18. 95    y=x: goto 108
  19. 100   next x
  20. 108   close #2: chdir local$
  21. 110   scnclr:print at (10,1) inverse(1) "PRESS LEFT MOUSE BUTTON TO LOAD SELECTED PROGRAM"
  22. 111   for x = 1 to (y-1)
  23. 112   t = instr(1,a$(x),"."): t=t-1
  24. 114   a$(x)=left$(a$(x),t)
  25. 116   px = 1
  26. 117   if x>20 then px = 40
  27. 118   py=x+2
  28. 119   if x>20 then py=(x-20)+2
  29. 120   print at (px,py) x; a$(x)
  30. 130   next x
  31. 200   ask mouse mx%,my%,b%
  32. 210   if b%=4 then goto 400
  33. 300   if my%<18 then goto 200
  34. 305   if my%> 175 then goto 200
  35. 310   p= fix((my%-10)/8)
  36. 320   if mx%>320 then p=p+20
  37. 330   if p<1 or p> (y-1) then goto 200
  38. 350   px=1
  39. 355   if p>20 then px=40
  40. 360   py=p+2
  41. 365   if p>20 then py=(p-20)+2
  42. 368   if px=lx and py=ly then goto 200
  43. 369   print at (lx,ly) lp; a$(lp)
  44. 370   print at (px,py) inverse(1) p; a$(p)
  45. 371   print at (0,0)
  46. 375   lx=px:ly=py:lp=p
  47. 380   ss$=s3$+a$(p):gosub 500
  48. 384   sleep 10^6
  49. 385   ask mouse mx%,my%,b%
  50. 386   if b%=4 then goto 400
  51. 387   sleep 10^6
  52. 395   goto 200
  53. 400   scnclr:print at (30,10) inverse(1) "LOADING ";a$(p)
  54. 401   print at (0,0)
  55. 402   ss$=s2$+a$(p):gosub 500
  56. 410   if local$="" then chain a$(p) else chain local$+"/"+a$(p)
  57. 500   s$=translate$(ss$)
  58. 510   s%=narrate(s$)
  59. 520   return
  60.